package com.runjian.rundo.iot.agent.iec104.parser.frame;

import com.runjian.rundo.iot.agent.business.control.enums.ControlResult;

/**
 * 控制侦
 *
 * @author CaoQingHua
 */
public interface ControlFrame extends IASDUFrame {

    /**
     * 添加控制信息元素
     *
     * @param address 地址
     * @param value 数据
     */
    void addControlInfoElement(int address, Object value);
//
//    /**
//     * 先择命令
//     */
//    default void selectControl() {
//
//    }
//
//    /**
//     * 先择确认
//     */
//    default Boolean selectEnterControl() {
//        return Boolean.FALSE;
//    }
//
//    /**
//     * 取消命令
//     */
//    default void cancelControl() {
//
//    }
//
//    /**
//     * 取消确认
//     */
//    default Boolean cancelEnterControl() {
//        return Boolean.FALSE;
//    }
//
//    /**
//     * 执行控制
//     */
//    default void execControl() {
//
//    }
//
//    /**
//     * 控制确认
//     */
//    default Boolean execEnterControl() {
//        return Boolean.FALSE;
//    }
//
//    /**
//     * 控制完成
//     */
//    default Boolean completeControl() {
//        return Boolean.FALSE;
//    }

    /**
     * 下一步行动
     * 
     * @param result
     * @return
     */
    default void next(Boolean result) {

    }

    default ControlResult getControlResult() {
        return ControlResult.HANDLE;
    }

    default Short getSe(){
        return 0;
    }

    default void setSe(Short value) {}

}
